#pragma once

namespace mmath
{
	class BoundingSphere
	{
	public:
		BoundingSphere();
		BoundingSphere(const XMFLOAT3 & center, float radius);
		BoundingSphere(const byte * verts, uint numVerts, uint stride);
		
		void construct(const byte * verts, uint numVerts, uint stride);

		bool intersects(const BoundingSphere & other);

		static BoundingSphere transform(const BoundingSphere & sphere, const XMVECTOR & translation, const XMVECTOR & orientation, const XMVECTOR & scale);
		static BoundingSphere transform(const BoundingSphere & sphere, const XMVECTOR & translation, const XMVECTOR & orientation, float scale);

		XMFLOAT3 Center;
		float Radius;
	};
}